package main

import (
	"fmt"
	"html/template"
	"log"
)

// 在上述示例代码(eg15.14-template_validation.go)上实现 defer/recover 机制。

func main() {
	defer func() {
		if e := recover(); e != nil {
			// fmt.Fprintf(os.Stderr, "[panic] %v\n", e)
			log.Printf("run time panic: %v\n", e)
		}
	}()

	fmt.Println("template parse Ok")
	tok := template.New("ok")
	template.Must(tok.Parse("/* 我是注释 */ 静态文本: {{ .Name }}"))

	fmt.Println("template parse Fail")
	terr := template.New("fail")
	template.Must(terr.Parse("验证失败的的文本:{{ .Name }"))
}
